package com.zlj.accountant.db.entity;

import java.util.UUID;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import com.zlj.accountant.publish.AccountType;
import com.zlj.accountant.publish.BalanceType;
import com.zlj.accountant.publish.BookingState;

@DatabaseTable(tableName=TBooking.TableName)
public class TBooking extends TAbstractTable{
	
	public static final String TableName = "TBooking";
	
	public static final String Field_Income = "income";
	
	public static final String Field_Outgo = "outgo";
	
	public static final String Field_BalanceType = "balanceType"; 
	
	public static final String Field_AccountType = "accountType";
	
	public static final String Field_Notes = "notes";
	
	public static final String Field_AccountId = "accountId";
	
	public static final String Field_State = "state";
	
	@DatabaseField(columnName=Field_State)
	private BookingState state;
	
	@DatabaseField(columnName=Field_AccountId)
	private UUID accountId;
	
	@DatabaseField(columnName=Field_Outgo)
	private double outgo;
	
	@DatabaseField(columnName=Field_Income)
	private double income;
	
	@DatabaseField(columnName=Field_BalanceType,canBeNull=false)
	private BalanceType balanceType;
	
	@DatabaseField(columnName=Field_AccountType,canBeNull=false)
	private AccountType accountType;
	
	@DatabaseField(columnName=Field_Notes)
	private String notes;
	
	public double getOutgo(){
    	return outgo;
    }

	public void setOutgo(double outgo){
    	this.outgo = outgo;
    }

	public double getIncome(){
    	return income;
    }

	public void setIncome(double income){
    	this.income = income;
    }

	public BalanceType getBalanceType(){
    	return balanceType;
    }

	public void setBalanceType(BalanceType balanceType){
    	this.balanceType = balanceType;
    }

	public String getNotes(){
    	return notes;
    }

	public void setNotes(String notes){
    	this.notes = notes;
    }

	public BookingState getState() {
		return state;
	}

	public void setState(BookingState state) {
		this.state = state;
	}

	public UUID getAccountId() {
		return accountId;
	}

	public void setAccountId(UUID accountId) {
		this.accountId = accountId;
	}

	public AccountType getAccountType(){
    	return accountType;
    }

	public void setAccountType(AccountType accountType){
    	this.accountType = accountType;
    }

	public TBooking(){}
}
